/***********************************************************************
 *Copyright (c)2005 , 东莞步步高教育电子分公司
 *All rights reserved.
 **
 文件名称：	fsys.c
 *文件标识：	步步高电子词典的游戏引擎模块
 *摘要：		游戏系统对小机文件系统的封装
 **
 *移植性声明:
 *	1、符合标准：《游戏设计标准V1.0》
 *	2、兼容模式：本程序和界面无关，无兼容模式。
 *	3、小机环境发生变化是，需要修改本文件到相应的文件系统
 *修改历史：
 *	版本    日期     作者     改动内容和原因
 *   ----------------------------------------------------
 *	1.0    2005.5.16  高国军     基本的功能完成
 ***********************************************************************/
#include "baye/stdsys.h"
#include "baye/comm.h"
#include "baye/enghead.h"

typedef struct {
    U8	handle;			/* 文件操作句柄 */
    U8	ftype;			/* 文件类型 */
    U8	openmode;		/* 打开方式 */
    U8	fname[10];		/* 文件名 */
    U32	curset;			/* 当前文件指针位置 */
    U32	flen;			/* 文件长度 */
}gam_FILE;				/* 文件指针类型 */

#ifdef	_EDICT_SERIES_A_

/***********************************************************************
 * 说明:     将当前文件系统的文件打开函数封装为标准的fopen函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 文件操作句柄
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR gam_FILE *gam_fopen(U8 *fname,U8 pmode)
{
    U8	err,mode,pFHandle;
    U8	tmpbuf[10],pInf[12];
    U16	pfNum,i,tmpName;
    U32	pLen;
    gam_FILE *tmpFile;

    tmpFile=(gam_FILE *)gam_malloc(sizeof(gam_FILE)+4);
    if(NULL == tmpFile)
        return (gam_FILE *)NULL;
    if(pmode=='w')
        mode=OPEN_W;
    else if(pmode=='r')
        mode=OPEN_R;
    else	/* if(pmode=='a') */
        mode=OPEN_ADD;

    gam_memcpy(tmpFile->fname,fname,10);
    tmpFile->curset=0;
    tmpFile->openmode=mode;
    tmpFile->flen=0;
    gam_memcpy(tmpbuf,GAM_LIB_FNAME,10);
    if(!strcmp(tmpbuf,fname))
    {
        tmpFile->ftype=FILE_LIB;
        return (gam_FILE *)tmpFile;
    }
    gam_memcpy(tmpbuf,GAM_FONT_FNAME,10);
    if(!strcmp(tmpbuf,fname))
    {
        tmpFile->ftype=FILE_FONT;
        return (gam_FILE *)tmpFile;
    }

    /* 正常文件 */
    tmpFile->ftype=FILE_NOR;
    FileNum(GAME_SAVE,&pfNum);
    err = 1;
    for (i = 1;i <= pfNum;i ++)
    {
        gam_memset(pInf,0,12);
        FileSearch(GAME_SAVE,i,&tmpName,pInf);
        err = gam_strcmp(fname,pInf);
        if(!err) break;
    }
    /* 没找到文件，且不是写模式 */
    if(err && OPEN_W != mode)
    {
        gam_free((U8 *)tmpFile);
        return (gam_FILE *)NULL;
    }
    /* 找到了文件 */
    if(!err)
    {
        FileOpen(tmpName,GAME_SAVE,mode,&pFHandle,&pLen);
        if(OPEN_W != mode)
        {
            tmpFile->handle=pFHandle;
            tmpFile->flen=pLen;
            return (gam_FILE *)tmpFile;
        }
        FileDel(pFHandle);
    }
    /* 写模式下，新建文件 */
    pLen = 0x1000;
    err = FileCreat(GAME_SAVE,pLen,fname,&tmpName,&pFHandle);
    if(!err)
    {
        gam_free((U8 *)tmpFile);
        return (gam_FILE *)NULL;
    }
    tmpFile->handle=pFHandle;
    tmpFile->flen=pLen;
    return (gam_FILE *)tmpFile;
}
/***********************************************************************
 * 说明:     将当前文件系统的文件关闭函数封装为标准的fclose函数
 * 输入参数: fhandle-文件操作句柄
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fclose(gam_FILE *fhandle)
{
    if(fhandle->ftype==FILE_NOR)
        FileClose(fhandle->handle);
    gam_free((U8 *)fhandle);
#warning
    return 0;
}
/***********************************************************************
 * 说明:     将当前文件系统的文件指针定位函数封装为标准的fseek函数
 * 输入参数: fhandle-操作句柄	offset-偏移	fromwhere-起始
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fseek (gam_FILE *fhandle, U32 offset, U8 fromwhere)
{
    U32	tmp;

    tmp=fhandle->curset;
    if(!fromwhere)
        tmp=offset;
    if(fromwhere==SEEK_CUR)
        tmp+=offset;
    if(fromwhere==SEEK_END)
        tmp=fhandle->flen-offset;
    fhandle->curset=tmp;
#warning
    return 0;
}
/***********************************************************************
 * 说明:     将当前文件系统的文件读取函数封装为标准的fread函数
 * 输入参数: buf-缓冲	size-项长	count-项数	fhandle-句柄
 * 返回值  : 0-操作成功	!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_fread(U8 *buf, U8 size, U16 count, gam_FILE *fhandle)
{
    U8	*ptr,tmp;
    U16	i,lp,bnk;
    U32	pLen,roff,addr;

    if(fhandle->openmode!=OPEN_R)
        return 0;
    pLen = size;
    pLen *= count;

    addr=fhandle->curset;
    bnk=(U16)(addr>>14);
    bnk<<=2;
    bnk+=c_FontBnkS;
    switch(fhandle->ftype)
    {
        case FILE_LIB:
            bnk+=GAM_FONT_BNK_NUM;
            DataBankSwitch(9,4,bnk);
            ptr=(U8 *)((U16)(addr&0x00003fff)+DAT_ADDR);
            gam_memcpy(buf,ptr,(U16)pLen);
            break;
        case FILE_FONT:
            DataBankSwitch(9,4,bnk);
            lp=(U16)(addr&0x00003fff);
            if(0x4000-lp<18)
                tmp=0x4000-lp;			/* 跨bnk取数据 */
            else
                tmp=18;
            gam_memcpy(buf,(U8 *)(lp+DAT_ADDR),tmp);
            if(tmp<18)				/* 跨页面字模再补取数据 */
            {
                DataBankSwitch(9,4,bnk+4);
                gam_memcpy((U8 *)(buf+tmp),(U8 *)DAT_ADDR,18-tmp);
            }
            break;
        case FILE_NOR:
            ptr = (U8 *)&g_GenPos;			/* 复用战斗模块的全局变量 */
            lp = pLen / 100;
            roff = 0;
            for(i = 0;i < lp;i += 1)
            {
                FileRead(fhandle->handle,100,ptr);
                gam_memcpy(buf+roff,ptr,100);
                roff += 100;
            }
            lp = (U8)(pLen - roff);
            FileRead(fhandle->handle,lp,ptr);
            gam_memcpy(buf+roff,ptr,lp);
            break;
    }
    fhandle->curset+=pLen;
    return pLen;
}
/***********************************************************************
 * 说明:     将当前文件系统的文件写入函数封装为标准的fwrite函数
 * 输入参数: fname-文件名		mode-操作方式
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_fwrite(U8 *buf, U32 size, U16 count, gam_FILE *fhandle)
{
    U8	*ptr;
    U16	i,lp;
    U32	pLen,pOff;

    if(fhandle->ftype!=FILE_NOR)
        return 1;

    ptr = (U8 *)&g_GenPos;			/* 复用战斗模块的全局变量 */
    pLen=count;
    pLen*=size;
    lp=pLen / 100;
    pOff=0;
    for(i=0;i<lp;i++)
    {
        gam_memcpy(ptr,buf+pOff,100);
        pOff+=100;
        FileWrite(fhandle->handle,100,ptr);
    }
    lp = pLen-pOff;
    gam_memcpy(ptr,buf+pOff,lp);
    FileWrite(fhandle->handle,(U8)lp,ptr);
    fhandle->curset+=pLen;
    return 0;
}
/***********************************************************************
 * 说明:     将当前文件系统的文件指针查询函数封装为标准的ftell函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 资源项的数据长度
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_ftell(gam_FILE *fhandle)
{
    return (U32) fhandle->curset;
}
/***********************************************************************
 * 说明:     增强功能函数—按照页面方式将指定地址下的数据载入到常量页
 * 输入参数: bptr-常量页地址	addr-指定地址	fhandle-文件句柄
 * 返回值  : 被载入数据指针
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 *gam_fload(U8 *bptr, U32 addr, gam_FILE *fhandle)
{
    U8	*ptr,type;
    U16	bnk,lp;

    type=fhandle->ftype;
    if(FILE_NOR==type)
        return (U8 *)NULL;

    lp=(U16)(addr&0x00003fff);
    ptr=(U8 *)(lp+bptr);
    bnk=(U16)(addr>>14);
    bnk<<=2;
    bnk+=c_FontBnkS;
    if(FILE_LIB==type)
        bnk+=GAM_FONT_BNK_NUM;

    DataBankSwitch(9,4,bnk);
    return (U8 *)ptr;
}
/***********************************************************************
 * 说明:     增强功能函数—修改文件名
 * 输入参数: fhandle-文件句柄	newname-新的文件名
 * 返回值  : 0-操作成功		!0-出错代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_frename(gam_FILE *fhandle,U8 *newname)
{
    if(fhandle->ftype!=FILE_NOR)
        return 1;
    FileChangeInf(fhandle->handle,newname);
    return 0;
}
/***********************************************************************
 * 说明:     增强功能函数—文件删除
 * 输入参数: fhandle-文件句柄
 * 返回值  : 0-操作成功		!0-出错代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fdelete(gam_FILE *fhandle)
{
    if(fhandle->ftype!=FILE_NOR)
        return 1;
    return FileDel(fhandle->handle);
}
#endif	/* _EDICT_SERIES_A_ */

#ifdef	_EDICT_SERIES_B_
/***********************************************************************
 * 说明:     将当前文件系统的文件打开函数封装为标准的fopen函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 文件操作句柄
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR gam_FILE *gam_fopen(U8 *fname,U8 pmode)
{

}
/***********************************************************************
 * 说明:     将当前文件系统的文件关闭函数封装为标准的fclose函数
 * 输入参数: fhandle-文件操作句柄
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fclose(gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件指针定位函数封装为标准的fseek函数
 * 输入参数: fhandle-操作句柄	offset-偏移	fromwhere-起始
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fseek (gam_FILE *fhandle, U32 offset, U8 fromwhere)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件读取函数封装为标准的fread函数
 * 输入参数: buf-缓冲	size-项长	count-项数	fhandle-句柄
 * 返回值  : 0-操作成功	!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_fread(U8 *buf, U8 size, U16 count, gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件写入函数封装为标准的fwrite函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_fwrite(U8 *buf, U8 size, U16 count, gam_FILE *fhandle)
{

}
/***********************************************************************
 * 说明:     将当前文件系统的文件指针查询函数封装为标准的ftell函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 资源项的数据长度
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_ftell(gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     增强功能函数—按照页面方式将指定地址下的数据载入到常量页
 * 输入参数: bptr-常量页地址	addr-指定地址	fhandle-文件句柄
 * 返回值  : 被载入数据指针
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 *gam_fload(U8 *bptr, U32 addr, gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     增强功能函数—修改文件名
 * 输入参数: fhandle-文件句柄	newname-新的文件名
 * 返回值  : 0-操作成功		!0-出错代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_frename(gam_FILE *fhandle,U8 *newname)
{
}
/***********************************************************************
 * 说明:     增强功能函数—文件删除
 * 输入参数: fhandle-文件句柄
 * 返回值  : 0-操作成功		!0-出错代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fdelete(gam_FILE *fhandle)
{
}
#endif	/* _EDICT_SERIES_B_ */

#ifdef	_EDICT_SERIES_C_
/***********************************************************************
 * 说明:     将当前文件系统的文件打开函数封装为标准的fopen函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 文件操作句柄
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR gam_FILE *gam_fopen(U8 *fname,U8 pmode)
{

}
/***********************************************************************
 * 说明:     将当前文件系统的文件关闭函数封装为标准的fclose函数
 * 输入参数: fhandle-文件操作句柄
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fclose(gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件指针定位函数封装为标准的fseek函数
 * 输入参数: fhandle-操作句柄	offset-偏移	fromwhere-起始
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fseek (gam_FILE *fhandle, U32 offset, U8 fromwhere)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件读取函数封装为标准的fread函数
 * 输入参数: buf-缓冲	size-项长	count-项数	fhandle-句柄
 * 返回值  : 0-操作成功	!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_fread(U8 *buf, U8 size, U16 count, gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件写入函数封装为标准的fwrite函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_fwrite(U8 *buf, U8 size, U16 count, gam_FILE *fhandle)
{

}
/***********************************************************************
 * 说明:     将当前文件系统的文件指针查询函数封装为标准的ftell函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 资源项的数据长度
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_ftell(gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     增强功能函数—按照页面方式将指定地址下的数据载入到常量页
 * 输入参数: bptr-常量页地址	addr-指定地址	fhandle-文件句柄
 * 返回值  : 被载入数据指针
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 *gam_fload(U8 *bptr, U32 addr, gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     增强功能函数—修改文件名
 * 输入参数: fhandle-文件句柄	newname-新的文件名
 * 返回值  : 0-操作成功		!0-出错代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_frename(gam_FILE *fhandle,U8 *newname)
{
}
/***********************************************************************
 * 说明:     增强功能函数—文件删除
 * 输入参数: fhandle-文件句柄
 * 返回值  : 0-操作成功		!0-出错代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fdelete(gam_FILE *fhandle)
{
}
#endif	/* _EDICT_SERIES_C_ */

#ifdef	_EDICT_SERIES_D_
/***********************************************************************
 * 说明:     将当前文件系统的文件打开函数封装为标准的fopen函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 文件操作句柄
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR gam_FILE *gam_fopen(U8 *fname,U8 pmode)
{

}
/***********************************************************************
 * 说明:     将当前文件系统的文件关闭函数封装为标准的fclose函数
 * 输入参数: fhandle-文件操作句柄
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fclose(gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件指针定位函数封装为标准的fseek函数
 * 输入参数: fhandle-操作句柄	offset-偏移	fromwhere-起始
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fseek (gam_FILE *fhandle, U32 offset, U8 fromwhere)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件读取函数封装为标准的fread函数
 * 输入参数: buf-缓冲	size-项长	count-项数	fhandle-句柄
 * 返回值  : 0-操作成功	!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_fread(U8 *buf, U8 size, U16 count, gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件写入函数封装为标准的fwrite函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_fwrite(U8 *buf, U8 size, U16 count, gam_FILE *fhandle)
{

}
/***********************************************************************
 * 说明:     将当前文件系统的文件指针查询函数封装为标准的ftell函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 资源项的数据长度
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_ftell(gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     增强功能函数—按照页面方式将指定地址下的数据载入到常量页
 * 输入参数: bptr-常量页地址	addr-指定地址	fhandle-文件句柄
 * 返回值  : 被载入数据指针
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 *gam_fload(U8 *bptr, U32 addr, gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     增强功能函数—修改文件名
 * 输入参数: fhandle-文件句柄	newname-新的文件名
 * 返回值  : 0-操作成功		!0-出错代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_frename(gam_FILE *fhandle,U8 *newname)
{
}
/***********************************************************************
 * 说明:     增强功能函数—文件删除
 * 输入参数: fhandle-文件句柄
 * 返回值  : 0-操作成功		!0-出错代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fdelete(gam_FILE *fhandle)
{
}
#endif	/* _EDICT_SERIES_D_ */

#ifdef	_EDICT_SERIES_E_
/***********************************************************************
 * 说明:     将当前文件系统的文件打开函数封装为标准的fopen函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 文件操作句柄
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR gam_FILE *gam_fopen(U8 *fname,U8 pmode)
{

}
/***********************************************************************
 * 说明:     将当前文件系统的文件关闭函数封装为标准的fclose函数
 * 输入参数: fhandle-文件操作句柄
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fclose(gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件指针定位函数封装为标准的fseek函数
 * 输入参数: fhandle-操作句柄	offset-偏移	fromwhere-起始
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fseek (gam_FILE *fhandle, U32 offset, U8 fromwhere)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件读取函数封装为标准的fread函数
 * 输入参数: buf-缓冲	size-项长	count-项数	fhandle-句柄
 * 返回值  : 0-操作成功	!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_fread(U8 *buf, U8 size, U16 count, gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     将当前文件系统的文件写入函数封装为标准的fwrite函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 0-操作成功		!0-错误代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_fwrite(U8 *buf, U8 size, U16 count, gam_FILE *fhandle)
{

}
/***********************************************************************
 * 说明:     将当前文件系统的文件指针查询函数封装为标准的ftell函数
 * 输入参数: fname-文件名	mode-操作方式
 * 返回值  : 资源项的数据长度
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U32 gam_ftell(gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     增强功能函数—按照页面方式将指定地址下的数据载入到常量页
 * 输入参数: bptr-常量页地址	addr-指定地址	fhandle-文件句柄
 * 返回值  : 被载入数据指针
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 *gam_fload(U8 *bptr, U32 addr, gam_FILE *fhandle)
{
}
/***********************************************************************
 * 说明:     增强功能函数—修改文件名
 * 输入参数: fhandle-文件句柄	newname-新的文件名
 * 返回值  : 0-操作成功		!0-出错代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_frename(gam_FILE *fhandle,U8 *newname)
{
}
/***********************************************************************
 * 说明:     增强功能函数—文件删除
 * 输入参数: fhandle-文件句柄
 * 返回值  : 0-操作成功		!0-出错代码
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             高国军          2005.5.18       完成基本功能
 ***********************************************************************/
FAR U8 gam_fdelete(gam_FILE *fhandle)
{
}
#endif	/* _EDICT_SERIES_E_ */
